package com.mm.cme.kotlin_001.level02.i_001_class

import com.mm.cme.kotlin_001.utils.pd
import com.mm.cme.kotlin_001.utils.pl

/**
 * Descriptions：类的继承
 * <p>
 * Author：ChenME
 * Date：2017/7/16
 * Email：ibelieve1210@163.com
 */
class 妹子(性格: String, 长相: String, 声音: String) : 人(性格, 长相, 声音) {

    fun 唱歌(歌名: String) {
        pl("妹子正在唱歌：$歌名")
    }

    fun 跳舞(舞蹈名: String) {
        pl("妹子正在跳舞：$舞蹈名")
    }
}

class 帅哥 constructor(性格: String, 长相: String, 声音: String) : 人(性格, 长相, 声音)

open class 人 constructor(var 性格: String, var 长相: String, var 声音: String) {
    init {
        pl("一个${this.javaClass.simpleName}：性格$性格，长相$长相，声音$声音。")
    }
}

fun main(args: Array<String>) {

    val 我膜拜的帅哥: 帅哥 = 帅哥("彪悍", "帅气", "浑厚")
    pl(我膜拜的帅哥 is 人)
    pl(我膜拜的帅哥 is Any)

    pd()
    val 令人心动动的妹子: 妹子 = 妹子("温柔", "动人", "甜美")
    令人心动动的妹子.唱歌("歌唱祖国")
    令人心动动的妹子.跳舞("天鹅湖")
}
